// -*- Mode: c++ -*-
#ifndef APP_H
#define APP_H

#include <allegro5/allegro5.h>
#include "song.h"
#include "patterneditor.h"
#include "keybindings.h"
#include "player.h"
#include "skin.h"

class App {
public:
     App();
     ~App();
     Song* song();
     PatternEditor* patternEditor();
     KeyBindings* keyBindings();
     Player* player();
     Skin* skin();

private:
     Song m_song;
     PatternEditor m_patternEditor;
     KeyBindings m_keyBindings;
     ALLEGRO_CONFIG *m_pConfig;
     Player m_player;
     Skin m_skin;

     void setupSkin();
};

#endif
